package com.itheima.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;
import java.util.Date;

/**
 * 项目审核进度对象 project_review
 *
 * @author guanhuaer
 * @date 2025-03-18
 */
@Data
public class ProjectReview {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    private Long id;

    /**
     * 项目id
     */
    @ApiModelProperty("项目id")
    private Long projectId;
    /**
     * 项目名称
     */
    @ApiModelProperty("项目名称")
    private String projectName;
    /**
     * 负责人
     */
    @ApiModelProperty("负责人")
    private String person;
    /**
     * 负责人id
     */
    @ApiModelProperty("负责人id")
    private Long userId;
    /**
     * 教师id
     */
    @ApiModelProperty("教师id")
    private Long teacherId;
    /**
     * 审核人
     */
    @ApiModelProperty("审核人")
    private String reviewer;

    /**
     * 审核意见
     */
    @ApiModelProperty("审核意见")
    private String reviewComments;

    /**
     * 审核结果(0通过，1不通过，2驳回)
     */
    @ApiModelProperty("审核结果(0通过，1不通过，2驳回)")
    private Integer auditResult;

    /**
     * 审核时间
     */
    @ApiModelProperty("审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime reviewDate;

    /**
     * 学生提交时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("学生提交时间")
    private LocalDateTime sTime;

    /**
     * 教师审核时间
     */
    @ApiModelProperty("教师审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime tTime;

    /**
     * 管理员审核时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("管理员审核时间")
    private LocalDateTime aTime;

    /**
     * 审核进程（1学生提交,2教师审核,3管理员审核）
     */
    @ApiModelProperty("审核进程")
    private Integer active;

    /**
     * 修改者
     */
    @ApiModelProperty("修改者")
    private String modifiedBy;
    /**
     * 修改时间
     */
    @ApiModelProperty("修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    public Date getUpdateTime() {
        return new Date();
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }



}
